﻿using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

using MiniSched.Orm.Enumerations;

namespace MiniSched.Orm {
    
    public abstract class EnumEntity : Entity {

        protected EnumEntity() { }

        [Required]
        [MinLength(3)]
        [MaxLength(50)]
        public string Name { get; set; }
    }

    public abstract class EnumEntity<TEntityOption> : EnumEntity where TEntityOption : EnumEntityOption {
        protected EnumEntity() { }
    }

    public abstract class EnumEntity<TEntityOption, TEntity> : EnumEntity<TEntityOption>
        where TEntityOption : EnumEntityOption<TEntity>
        where TEntity : EnumEntity 
    {
        protected EnumEntity() { }
    }
}
